build: Clean up use of .PHONY
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Mon, 10 Apr 2006 16:02:49 +0000 (17:02 +0100)
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Mon, 10 Apr 2006 16:02:49 +0000 (17:02 +0100)
* Move .PHONY directives next to targets,
  this makes them a lot harder to miss
* Add missing .PHONY directives
* Remove nonexistent .PHONY directives
* Hopefully I didn'T miss anything...

Signed-Off-By: Horms <horms@verge.net.au>
64 files changed:
1  2 
Makefile
buildconfigs/Rules.mk
buildconfigs/mk.linux-2.6-xen
docs/Makefile
extras/mini-os/Makefile
tools/Makefile
tools/Rules.mk
tools/blktap/Makefile
tools/blktap/parallax/Makefile
tools/blktap/ublkback/Makefile
tools/check/Makefile
tools/console/Makefile
tools/console/testsuite/Makefile
tools/debugger/libxendebug/Makefile
tools/debugger/pdb/Makefile
tools/debugger/pdb/linux-2.6-module/Makefile
tools/debugger/pdb/linux-2.6-patches/Makefile
tools/examples/Makefile
tools/firmware/Makefile
tools/firmware/acpi/Makefile
tools/firmware/hvmloader/Makefile
tools/firmware/rombios/Makefile
tools/firmware/vgabios/Makefile
tools/firmware/vmxassist/Makefile
tools/guest-headers/Makefile
tools/ioemu/Makefile
tools/ioemu/target-i386-dm/Makefile
tools/libxc/Makefile
tools/misc/Makefile
tools/misc/cpuperf/Makefile
tools/misc/lomount/Makefile
tools/misc/mbootpack/Makefile
tools/misc/miniterm/Makefile
tools/misc/nsplitd/Makefile
tools/pygrub/Makefile
tools/python/Makefile
tools/security/Makefile
tools/sv/Makefile
tools/tests/Makefile
tools/vnet/Makefile
tools/vnet/doc/Makefile
tools/vnet/examples/Makefile
tools/vnet/libxutil/Makefile
tools/vnet/scripts/Makefile
tools/vnet/vnetd/Makefile
tools/vtpm/Makefile
tools/vtpm_manager/Makefile
tools/vtpm_manager/crypto/Makefile
tools/vtpm_manager/manager/Makefile
tools/vtpm_manager/tcs/Makefile
tools/vtpm_manager/util/Makefile
tools/xcutils/Makefile
tools/xenmon/Makefile
tools/xenstat/libxenstat/Makefile
tools/xenstat/xentop/Makefile
tools/xenstore/Makefile
tools/xentrace/Makefile
xen/Makefile
xen/Rules.mk
xen/arch/ia64/Makefile
xen/arch/ia64/tools/privop/Makefile
xen/arch/x86/Makefile
xen/tools/Makefile
xen/tools/figlet/Makefile

diff --cc Makefile
index 71a7c7d342f2af9ec892bfad0a4193d96cb6cf41,71a7c7d342f2af9ec892bfad0a4193d96cb6cf41..625c81c66629124a90d91b8f0ac9594cd727ebe3
+++ b/Makefile
@@@ -14,6 -14,6 +14,7 @@@ export XEN_TARGET_ARCH SUBARCH XEN_SYST
  endif
  
  # Default target must appear before any include lines
++.PHONY: all
  all: dist
  
  XEN_ROOT=$(CURDIR)
@@@ -24,12 -24,12 +25,11 @@@ ifeq ($(XEN_TARGET_X86_PAE),y
  export pae=y
  endif
  
--.PHONY:       all dist install xen kernels tools dev-docs docs world clean
--.PHONY:       mkpatches mrproper kbuild kdelete kclean
--
  # build and install everything into the standard system directories
++.PHONY: install
  install: install-xen install-kernels install-tools install-docs
  
++.PHONY: build
  build: kernels
        $(MAKE) -C xen build
        $(MAKE) -C tools build
  # The test target is for unit tests that can run without an installation.  Of
  # course, many tests require a machine running Xen itself, and these are
  # handled elsewhere.
++.PHONY: test
  test:
        $(MAKE) -C tools/python test
  
  # build and install everything into local dist directory
++.PHONY: dist
  dist: DESTDIR=$(DISTDIR)/install
  dist: dist-xen dist-kernels dist-tools dist-docs
        $(INSTALL_DIR) $(DISTDIR)/check
@@@ -54,67 -54,67 +56,83 @@@ dist-%: install-
        @: # do nothing
  
  # Legacy dist targets
++.PHONY: xen tools kernels docs
  xen: dist-xen
  tools: dist-tools
  kernels: dist-kernels
  docs: dist-docs
  
++.PHONY: prep-kernels
  prep-kernels:
        for i in $(XKERNELS) ; do $(MAKE) $$i-prep || exit 1; done
  
++.PHONY: install-xen
  install-xen:
        $(MAKE) -C xen install
  
++.PHONY: install-tools
  install-tools:
        $(MAKE) -C tools install
  
++.PHONY: install-kernels
  install-kernels:
        for i in $(XKERNELS) ; do $(MAKE) $$i-install || exit 1; done
  
++.PHONY: install-docs
  install-docs:
        sh ./docs/check_pkgs && $(MAKE) -C docs install || true
  
++.PHONY: dev-docs
  dev-docs:
        $(MAKE) -C docs dev-docs
  
  # Build all the various kernels and modules
++.PHONY: kbuild
  kbuild: kernels
  
  # Delete the kernel build trees entirely
++.PHONY: kdelete
  kdelete:
        for i in $(XKERNELS) ; do $(MAKE) $$i-delete ; done
  
  # Clean the kernel build trees
++.PHONY: kclean
  kclean:
        for i in $(XKERNELS) ; do $(MAKE) $$i-clean ; done
  
  # Make patches from kernel sparse trees
++.PHONY: mkpatches
  mkpatches:
        for i in $(ALLSPARSETREES) ; do $(MAKE) $$i-xen.patch; done
  
  # build xen, the tools, and a domain 0 plus unprivileged linux-xen images,
  # and place them in the install directory. 'make install' should then
  # copy them to the normal system directories
++.PHONY: world
  world: 
        $(MAKE) clean
        $(MAKE) kdelete
        $(MAKE) dist
  
  # clean doesn't do a kclean
++.PHONY: clean
  clean:: 
        $(MAKE) -C xen clean
        $(MAKE) -C tools clean
        $(MAKE) -C docs clean
  
  # clean, but blow away kernel build tree plus tarballs
++.PHONY: distclean
  distclean: clean
        rm -rf dist patches/tmp
        for i in $(ALLKERNELS) ; do $(MAKE) $$i-delete ; done
        for i in $(ALLSPARSETREES) ; do $(MAKE) $$i-mrproper ; done
  
  # Linux name for GNU distclean
++.PHONY: mrproper
  mrproper: distclean
  
++.PHONY: help
  help:
        @echo 'Installation targets:'
        @echo '  install          - build and install everything'
        @echo '                     true if set to non-empty value, false otherwise'
  
  # Use this target with extreme care!
++.PHONY: uninstall
  uninstall: D=$(DESTDIR)
  uninstall:
        [ -d $(D)/etc/xen ] && mv -f $(D)/etc/xen $(D)/etc/xen.old-`date +%s` || true
        rm -rf $(D)/usr/share/man/man8/xen*
  
  # Legacy targets for compatibility
++.PHONY: linux26
  linux26:
        $(MAKE) 'KERNELS=linux-2.6*' kernels
index 57df05e06bf72f2618f8c08c5b8532d060f9a45e,57df05e06bf72f2618f8c08c5b8532d060f9a45e..fde2980bc8ccd6c9d4701cafce6e61308eed307f
@@@ -6,8 -6,8 +6,6 @@@ export DESTDI
  ALLKERNELS = $(patsubst buildconfigs/mk.%,%,$(wildcard buildconfigs/mk.*))
  ALLSPARSETREES = $(patsubst %-xen-sparse,%,$(wildcard *-xen-sparse))
  
--.PHONY:       mkpatches mrproper
--
  # Setup pristine search path
  PRISTINE_SRC_PATH     ?= .:..
  vpath pristine-% $(PRISTINE_SRC_PATH)
@@@ -61,6 -61,6 +59,7 @@@ ifneq ($(PATCHDIRS),
  $(patsubst patches/%,patches/%/.makedep,$(PATCHDIRS)): patches/%/.makedep: 
        @echo 'ref-$*/.valid-ref: $$(wildcard patches/$*/*.patch)' >$@
  
++.PHONY: clean
  clean::
        rm -f patches/*/.makedep
  
@@@ -115,6 -115,6 +114,7 @@@ linux-2.6-xen.patch: ref-linux-$(LINUX_
        rm -rf pristine-$(*)* ref-$(*)* $*.tar.bz2
        rm -rf $*-xen.patch
  
++.PHONY: config-update-pae
  config-update-pae:
  ifeq ($(XEN_TARGET_X86_PAE),y)
        sed -e 's!^CONFIG_HIGHMEM4G=y$$!\# CONFIG_HIGHMEM4G is not set!;s!^\# CONFIG_HIGHMEM64G is not set$$!CONFIG_HIGHMEM64G=y!' $(CONFIG_FILE) > $(CONFIG_FILE)- && mv $(CONFIG_FILE)- $(CONFIG_FILE)
index 10cba291e585c4884f3a75d9dd55d2f100bd3179,10cba291e585c4884f3a75d9dd55d2f100bd3179..64bb3e93f3f90d056581a80df6ebe8d7c47d081b
@@@ -8,9 -8,9 +8,8 @@@ LINUX_DIR    = linux-$(LINUX_VER)-$(EXT
  
  include buildconfigs/Rules.mk
  
--.PHONY: build clean delete
--
  # The real action starts here!
++.PHONY: build
  build: $(LINUX_DIR)/include/linux/autoconf.h
        if grep "^CONFIG_MODULES=" $(LINUX_DIR)/.config ; then \
            $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) modules ; \
@@@ -39,14 -39,14 +38,18 @@@ $(LINUX_DIR)/include/linux/autoconf.h: 
          rm -f Makefile ; mv Mk.tmp Makefile )
        $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) oldconfig
  
++.PHONY: prep
  prep: $(LINUX_DIR)/include/linux/autoconf.h
  
++.PHONY: config
  config: CONFIGMODE = menuconfig
  config: $(LINUX_DIR)/include/linux/autoconf.h
        $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) $(CONFIGMODE)
  
++.PHONY: clean
  clean::
        $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) clean
  
++.PHONY: delete
  delete: 
        rm -rf tmp-linux-$(LINUX_VER) $(LINUX_DIR) 
diff --cc docs/Makefile
index 51bde8661f07075bac2bceffe1d7bc240d2afa35,51bde8661f07075bac2bceffe1d7bc240d2afa35..196475042796d5b1097969735df100ecc8bb0637
@@@ -26,22 -26,22 +26,28 @@@ DOC_HTML   := $(patsubst src/%.tex,html/%
  
  GFX = $(patsubst %.fig, %.eps, $(wildcard figs/*.fig))
  
--.PHONY:       all build dev-docs python-dev-docs ps pdf html clean install
--
++.PHONY: all
  all: build
++
++.PHONY: build
  build: ps pdf html man-pages
        rm -f *.aux *.dvi *.bbl *.blg *.glo *.idx *.ilg *.log *.ind *.toc
  
++.PHONY: dev-docs
  dev-docs: python-dev-docs
  
++.PHONY: ps
  ps: $(DOC_PS)
  
++.PHONY: pdf
  pdf: $(DOC_PDF)
  
++.PHONY: html
  html:
        @if which $(LATEX2HTML) 1>/dev/null 2>/dev/null; then \
        $(MAKE) $(DOC_HTML); fi
  
++.PHONY: python-dev-docs
  python-dev-docs:
        @mkdir -v -p api/tools/python
        @if which $(DOXYGEN) 1>/dev/null 2>/dev/null; then         \
@@@ -50,6 -50,6 +56,7 @@@
        $(MAKE) -C api/tools/python/latex ; else                   \
          echo "Doxygen not installed; skipping python-dev-docs."; fi
  
++.PHONY: man-pages
  man-pages:
        @if which $(POD2MAN) 1>/dev/null 2>/dev/null; then \
        $(MAKE) $(DOC_MAN1) $(DOC_MAN5); fi
@@@ -64,6 -64,6 +71,7 @@@ man5/%.5: man/%.pod.5 Makefil
        $(POD2MAN) --release=$(VERSION) --name=`echo $@ | sed 's/^man5.//'| \
                sed 's/.5//'` -s 5 -c "Xen" $< $@
  
++.PHONY: clean
  clean:
        rm -rf .word_count *.aux *.dvi *.bbl *.blg *.glo *.idx *~ 
        rm -rf *.ilg *.log *.ind *.toc *.bak core
@@@ -72,6 -72,6 +80,7 @@@
        rm -rf man5
        rm -rf man1
  
++.PHONY: install
  install: all
        rm -rf $(DESTDIR)$(pkgdocdir)
        $(INSTALL_DIR) $(DESTDIR)$(pkgdocdir)
index d541677f97e7779812dddbe4c8ce480ab24ced9c,d541677f97e7779812dddbe4c8ce480ab24ced9c..2271f00be2ba0d4714546e2b2a9c9bd6f7b50658
@@@ -37,8 -37,8 +37,10 @@@ OBJS += $(patsubst %.c,%.o,$(wildcard c
  HDRS := $(wildcard include/*.h)
  HDRS += $(wildcard include/xen/*.h)
  
++.PHONY: default
  default: $(TARGET)
  
++.PHONY: links
  links:
        [ -e include/xen ] || ln -sf ../../../xen/include/public include/xen
  
@@@ -46,6 -46,6 +48,7 @@@ $(TARGET): links $(OBJS
        $(LD) -N -T minios-$(TARGET_ARCH).lds $(OBJS) -o $@.elf
        gzip -f -9 -c $@.elf >$@.gz
  
++.PHONY: clean
  clean:
        find . -type f -name '*.o' | xargs rm -f
        rm -f *.o *~ core $(TARGET).elf $(TARGET).raw $(TARGET) $(TARGET).gz
diff --cc tools/Makefile
index 375b5633b53ea12b39b07761ab719218d89c182e,375b5633b53ea12b39b07761ab719218d89c182e..69fefef6473815fdcb5ea6a5f34265f810e12701
@@@ -24,14 -24,14 +24,14 @@@ SUBDIRS += pytho
  SUBDIRS += pygrub
  endif
  
--.PHONY: all install clean check check_clean ioemu eioemuinstall ioemuclean
--
++.PHONY: all
  all: check
        @set -e; for subdir in $(SUBDIRS); do \
                $(MAKE) -C $$subdir $@; \
        done
        $(MAKE) ioemu
  
++.PHONY: install
  install: check
        @set -e; for subdir in $(SUBDIRS); do \
                $(MAKE) -C $$subdir $@; \
        $(MAKE) ioemuinstall
        $(INSTALL_DIR) -p $(DESTDIR)/var/xen/dump
  
++.PHONY: clean
  clean: check_clean
        @set -e; for subdir in $(SUBDIRS); do \
                $(MAKE) -C $$subdir $@; \
        done
        $(MAKE) ioemuclean
  
++.PHONY: check
  check:
        $(MAKE) -C check
  
++.PHONY: check_clean
  check_clean:
        $(MAKE) -C check clean
  
++.PHONY: ioemu ioemuinstall ioemuclean
  ifndef XEN_NO_IOEMU
  ioemu ioemuinstall ioemuclean:
        [ -f ioemu/config-host.h ] || \
diff --cc tools/Rules.mk
index f2fcd2a81102a19d7c72c2cb815b5c06ebb390be,f2fcd2a81102a19d7c72c2cb815b5c06ebb390be..49314d9fd720066e3bd3eaba22aac402ce3d5097
@@@ -23,6 -23,6 +23,7 @@@ CFLAGS += -D__XEN_INTERFACE_VERSION__=0
  %.o: %.cc
        $(CC) $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $<
  
++.PHONY: mk-symlinks
  mk-symlinks: LINUX_ROOT=$(XEN_ROOT)/linux-2.6-xen-sparse
  mk-symlinks:
        mkdir -p xen
index d4019c0252b63c68931389570d2b8acb3e1a5721,d4019c0252b63c68931389570d2b8acb3e1a5721..9dc571853abcb184a6d87215e8725e6073de2007
@@@ -39,11 -39,11 +39,13 @@@ IBINS   :
  
  LIB      = libblktap.so libblktap.so.$(MAJOR) libblktap.so.$(MAJOR).$(MINOR)
  
++.PHONY: all
  all: mk-symlinks libblktap.so #blkdump
        @set -e; for subdir in $(SUBDIRS); do \
                $(MAKE) -C $$subdir $@;       \
        done
  
++.PHONY: install
  install: all
        $(INSTALL_DIR) -p $(DESTDIR)/usr/$(LIBDIR)
        $(INSTALL_DIR) -p $(DESTDIR)/usr/include
                $(MAKE) -C $$subdir $@;       \
        done
  
++.PHONY: clean
  clean:
        rm -rf *.a *.so *.o *.rpm $(LIB) *~ $(DEPS) xen TAGS blkdump
        @set -e; for subdir in $(SUBDIRS); do \
                $(MAKE) -C $$subdir $@;       \
        done
  
++.PHONY: rpm
  rpm: all
        rm -rf staging
        mkdir staging
@@@ -82,6 -82,6 +86,7 @@@ blkdump: libblktap.s
  
  .PHONY: TAGS clean install mk-symlinks rpm
  
++.PHONY: TAGS
  TAGS:
        etags -t $(SRCS) *.h
  
index a6a0c0a3f89338a90f9dc38af5155f8b4caeb633,a6a0c0a3f89338a90f9dc38af5155f8b4caeb633..8500c1728b822edb724097ff9c0e98a07706a0d3
@@@ -43,11 -43,11 +43,14 @@@ DEPS     = .*.
  OBJS     = $(patsubst %.c,%.o,$(SRCS))
  IBINS    = parallax $(VDI_TOOLS)
  
++.PHONY: all
  all: $(VDI_TOOLS) parallax blockstored
  
++.PHONY: install
  install: all
        $(INSTALL_PROG) $(IBINS) $(DESTDIR)$(PARALLAX_INSTALL_DIR)
  
++.PHONY: clean
  clean:
        rm -rf *.o *~ $(DEPS) xen TAGS $(VDI_TOOLS) parallax vdi_unittest
  
@@@ -57,5 -57,5 +60,4 @@@ parallax: $(PLX_SRCS
  ${VDI_TOOLS}: %: %.c $(VDI_SRCS)
        $(CC) $(CFLAGS) -o $@ $@.c $(LDFLAGS) $(VDI_SRCS)
  
--.PHONY: TAGS clean install rpm
  -include $(DEPS)
index 6915d2f523128455fff1e5e5a3300a9cca246d2d,6915d2f523128455fff1e5e5a3300a9cca246d2d..0ed19cae6b11b780d9c5dc927801d58a27b252a0
@@@ -21,12 -21,12 +21,16 @@@ DEPS     = .*.
  
  OBJS     = $(patsubst %.c,%.o,$(SRCS))
  
++.PHONY: all
  all: $(IBIN)
  
  LINUX_ROOT := $(wildcard $(XEN_ROOT)/linux-2.6.*-xen-sparse)
  
++.PHONY: install
  install:
        $(INSTALL_PROG) $(IBIN) $(DESTDIR)$(INSTALL_DIR)
++
++.PHONY: clean
  clean:
        rm -rf *.o*~ $(DEPS) xen TAGS $(IBIN)
  
@@@ -34,6 -34,6 +38,4 @@@ ublkback
        $(CC) $(CFLAGS) -o ublkback -L$(XEN_LIBXC) -L. -L..  \
              -lblktap -laio ublkback.c ublkbacklib.c -pg
  
--.PHONY: clean install
--
  -include $(DEPS)
index 744f0983b59357a0d6fe4aef3368b099ca597848,744f0983b59357a0d6fe4aef3368b099ca597848..4605c03c392ffa3e64aac3d15d419c326109f3ca
@@@ -1,7 -1,7 +1,9 @@@
  
++.PHONY: all
  all: build
  
  # Check this machine is OK for building on.
++.PHONY: build
  build:
        ./chk build
  
@@@ -9,8 -9,8 +11,10 @@@
  # DO NOT use this check from 'make install' in the parent
  # directory, as that target can be used to make an installable
  # copy rather than actually installing.
++.PHONY: install
  install:
        ./chk install
  
++.PHONY: clean
  clean:
--      ./chk clean
++      ./chk clean
index 206621d083fd916699b66bd3513f13685a15bba4,206621d083fd916699b66bd3513f13685a15bba4..cbef956c5f204fd17a02c61704c7b63885389213
@@@ -16,8 -16,8 +16,10 @@@ CFLAGS  += -I $(XEN_XENSTORE
  
  BIN      = xenconsoled xenconsole
  
++.PHONY: all
  all: $(BIN)
  
++.PHONY: clean
  clean:
        $(RM) *.a *.so *.o *.rpm $(BIN)
        $(RM) client/*.o daemon/*.o
@@@ -30,6 -30,6 +32,7 @@@ xenconsole: $(patsubst %.c,%.o,$(wildca
        $(CC) $(CFLAGS) $^ -o $@ -L$(XEN_LIBXC) -L$(XEN_XENSTORE) \
              -lxenctrl -lxenstore
  
++.PHONY: install
  install: $(BIN)
        $(INSTALL_DIR) -p $(DESTDIR)/$(DAEMON_INSTALL_DIR)
        $(INSTALL_PROG) xenconsoled $(DESTDIR)/$(DAEMON_INSTALL_DIR)
index 2deb7d43d6ca2ea6053cfbce2cb6a419c77fb71c,2deb7d43d6ca2ea6053cfbce2cb6a419c77fb71c..71deb0a6f8296f5a67601e0a080c61b986aff32b
@@@ -3,10 -3,10 +3,12 @@@ include $(XEN_ROOT)/tools/Rules.m
  
  LDFLAGS=-static
  
++.PHONY: all
  all: console-dom0 console-domU procpipe
  
  console-dom0: console-dom0.o
  console-domU: console-domU.o
  procpipe: procpipe.o
  
++.PHONY: clean
  clean:; $(RM) *.o console-domU console-dom0 procpipe
index d0a90e12679485a011259dfbf0b183900690b891,d0a90e12679485a011259dfbf0b183900690b891..2e16446253df4cea4bcb2366032fa0be9928e676
@@@ -26,10 -26,10 +26,14 @@@ PIC_OBJS := $(patsubst %.c,%.opic,$(SRC
  LIB      := libxendebug.a libxendebug.so
  LIB      += libxendebug.so.$(MAJOR) libxendebug.so.$(MAJOR).$(MINOR)
  
++.PHONY: all
  all: build
++
++.PHONY: build
  build:
        $(MAKE) $(LIB)
  
++.PHONY: install
  install: build
        [ -d $(DESTDIR)/usr/$(LIBDIR) ] || $(INSTALL_DIR) $(DESTDIR)/usr/$(LIBDIR)
        [ -d $(DESTDIR)/usr/include ] || $(INSTALL_DIR) $(DESTDIR)/usr/include
        ln -sf libxendebug.so.$(MAJOR) $(DESTDIR)/usr/$(LIBDIR)/libxendebug.so
        $(INSTALL_DATA) xendebug.h $(DESTDIR)/usr/include
  
--.PHONY: TAGS clean rpm install all
--
++.PHONY: TAGS
  TAGS:
        etags -t $(SRCS) *.h
  
++.PHONY: clean
  clean:
        rm -rf *.a *.so* *.o *.opic *.rpm $(LIB) *~ $(DEPS) xen
  
++.PHONY: rpm
  rpm: build
        rm -rf staging
        mkdir staging
index 1842ec7d0b2a68f898e4020b26e644147b055064,1842ec7d0b2a68f898e4020b26e644147b055064..03cdc486b48f91a07bc2a5186247de1a775fe8ea
@@@ -33,6 -33,6 +33,7 @@@ LIBS       += unix st
  
  # bc = byte-code, dc = debug byte-code
  # patches = patch linux domU source code
++.PHONY: all 
  all : dc
  
  SOURCES    += pdb_caml_xc.c 
@@@ -51,5 -51,5 +52,6 @@@ RESULT      = pd
  include $(OCAMLMAKEFILE)
  
  PATCHDIR    = ./linux-2.6-patches
++.PHONY: patches 
  patches :
        make -C $(PATCHDIR) patches
index 609596f6c934205ae475c2a72146ee492a2a5ae5,609596f6c934205ae475c2a72146ee492a2a5ae5..9025cd85c1b5e830222e64b0b99e34161c765e8c
@@@ -10,10 -10,10 +10,12 @@@ CFLAGS += -
  CFLAGS += -Wall
  CFLAGS += -Werror
  
++.PHONY: module 
  module : 
  #     make KBUILD_VERBOSE=1 ARCH=xen -C $(KDIR) M=$(PWD) modules
        make                  ARCH=xen -C $(KDIR) M=$(PWD) modules
  
++.PHONY: clean 
  clean :
        make -C $(KDIR) M=$(PWD) clean
  
index 7d062510d8cc8d1eced5ff5adb1f564a8d8eeb57,7d062510d8cc8d1eced5ff5adb1f564a8d8eeb57..f2cb7f6ef56430f155ee3dac862f1845a7aba71e
@@@ -3,6 -3,6 +3,7 @@@ LINUX_DIR  = linux-2.6.12-xen
  KDIR       = $(XEN_ROOT)/$(LINUX_DIR)
  PATCH_DIR  = $(CURDIR)
  
++.PHONY: patches 
  patches : patches-done
  
  patches-done :
index 37a94b6329622316c6a0c40083f6f57abcc27b69,37a94b6329622316c6a0c40083f6f57abcc27b69..93a8242637557f630c23a8af81175b038e9214ab
@@@ -50,11 -50,11 +50,16 @@@ HOTPLUGS=install-hotplu
  endif
  endif
  
++.PHONY: all
  all:
++
++.PHONY: build
  build:
  
++.PHONY: install
  install: all install-initd install-configs install-scripts $(HOTPLUGS)
  
++.PHONY: install-initd
  install-initd:
        [ -d $(DESTDIR)/etc/init.d ] || $(INSTALL_DIR) $(DESTDIR)/etc/init.d
        [ -d $(DESTDIR)/etc/sysconfig ] || $(INSTALL_DIR) $(DESTDIR)/etc/sysconfig
@@@ -62,6 -62,6 +67,7 @@@
        $(INSTALL_PROG) $(XENDOMAINS_INITD) $(DESTDIR)/etc/init.d
        $(INSTALL_PROG) $(XENDOMAINS_SYSCONFIG) $(DESTDIR)/etc/sysconfig/xendomains
  
++.PHONY: install-configs
  install-configs: $(XEN_CONFIGS)
        [ -d $(DESTDIR)$(XEN_CONFIG_DIR) ] || \
                $(INSTALL_DIR) $(DESTDIR)$(XEN_CONFIG_DIR)
@@@ -72,6 -72,6 +78,7 @@@
            $(INSTALL_DATA) $$i $(DESTDIR)$(XEN_CONFIG_DIR); \
        done
  
++.PHONY: install-scripts
  install-scripts:
        [ -d $(DESTDIR)$(XEN_SCRIPT_DIR) ] || \
                $(INSTALL_DIR) $(DESTDIR)$(XEN_SCRIPT_DIR)
@@@ -84,6 -84,6 +91,7 @@@
            $(INSTALL_DATA) $$i $(DESTDIR)$(XEN_SCRIPT_DIR); \
        done
  
++.PHONY: install-hotplug
  install-hotplug:
        [ -d $(DESTDIR)$(XEN_HOTPLUG_DIR) ] || \
                $(INSTALL_DIR) $(DESTDIR)$(XEN_HOTPLUG_DIR)
            $(INSTALL_PROG) $$i $(DESTDIR)$(XEN_HOTPLUG_DIR); \
        done
  
++.PHONY: install-udev
  install-udev:
        [ -d $(DESTDIR)$(UDEV_RULES_DIR) ] || \
                $(INSTALL_DIR) $(DESTDIR)$(UDEV_RULES_DIR)/rules.d
                ln -sf ../$$i . ) \
        done
  
++.PHONY: clean
  clean:
index d0c738a41d88c32923dc97bf90dbc3a8aaa60e94,d0c738a41d88c32923dc97bf90dbc3a8aaa60e94..63ccb7b17ec0f7bd52b46d42a3a180510a9c728b
@@@ -13,8 -13,8 +13,7 @@@ SUBDIRS += acp
  SUBDIRS += vmxassist
  SUBDIRS += hvmloader
  
--.PHONY: all install clean
--
++.PHONY: all
  all:
        @set -e; if ! `which bcc 1>/dev/null 2>/dev/null`; then \
        echo "***********************************************************"; \
        fi
  
  
++.PHONY: install
  install: all
        [ -d $(INSTALL_DIR) ] || install -d -m0755 $(INSTALL_DIR)
        [ ! -e $(TARGET) ] || install -m0644 $(TARGET) $(INSTALL_DIR)
  
++.PHONY: clean
  clean: 
        @set -e; for subdir in $(SUBDIRS); do \
                $(MAKE) -C $$subdir $@; \
index 26d932fbeaa9effca24b033c5e9f584c18f2e527,26d932fbeaa9effca24b033c5e9f584c18f2e527..1932b0cc7bd49a8f8ce8bf543d72f659365ff770
@@@ -33,6 -33,6 +33,7 @@@ IASL_VER=acpica-unix-2005051
  IASL_URL=http://developer.intel.com/technology/iapc/acpi/downloads/$(IASL_VER).tar.gz
  
  vpath iasl $(PATH)
++.PHONY: all
  all:$(ACPI_BIN)
  
  acpi_dsdt.c:acpi_dsdt.asl
@@@ -42,6 -42,6 +43,7 @@@
        echo "int DsdtLen=sizeof(AmlCode);" >> acpi_dsdt.c
        rm *.aml
  
++.PHONY: iasl
  iasl:
        @echo
        @echo "ACPI ASL compiler(iasl) is needed"
@@@ -60,8 -60,8 +62,10 @@@ $(ACPI_GEN):$(C_SRC) $(H_SRC) acpi_dsdt
  $(ACPI_BIN):$(ACPI_GEN)
        ./$(ACPI_GEN) $(ACPI_BIN)
  
++.PHONY: clean
  clean:
        rm -rf *.o $(ACPI_GEN) $(ACPI_BIN) $(IASL_VER) 
        rm -rf  $(IASL_VER).tar.gz
  
++.PHONY: install
  install: all
index 5a821f7dcb948a4af21f57c6f05d5fc11049dea0,5a821f7dcb948a4af21f57c6f05d5fc11049dea0..c38832fbc5993e5940939e97ff52b2cefb4abdda
@@@ -42,6 -42,6 +42,7 @@@ OBJCOPY  = objcop
  CFLAGS  += $(DEFINES) -I. $(XENINC) -fno-builtin -O2 -msoft-float
  LDFLAGS  = -m32 -nostdlib -Wl,-N -Wl,-Ttext -Wl,$(LOADADDR)
  
++.PHONY: all
  all: hvmloader
  
  hvmloader: roms.h hvmloader.c acpi_madt.c
@@@ -57,6 -57,6 +58,7 @@@ roms.h:       ../rombios/BIOS-bochs-latest ..
        ./mkhex vmxassist ../vmxassist/vmxassist.bin >> roms.h
        ./mkhex acpi ../acpi/acpi.bin >> roms.h
  
++.PHONY: clean
  clean:
        rm -f roms.h acpi.h
        rm -f hvmloader hvmloader.tmp hvmloader.o $(OBJECTS)
index 0624e81e963e4eb72b9bb6bba1ae93798163a7a8,0624e81e963e4eb72b9bb6bba1ae93798163a7a8..3f4200df256002d843af50b3a1121380fde8b4e0
@@@ -3,10 -3,10 +3,13 @@@ BIOS_BUILDS = BIOS-bochs-lates
  #BIOS_BUILDS += BIOS-bochs-4-processors
  #BIOS_BUILDS += BIOS-bochs-8-processors
  
++.PHONY: all
  all: bios
  
++.PHONY: bios
  bios: biossums ${BIOS_BUILDS}
  
++.PHONY: clean
  clean:
        rm -f  *.o *.a *.s rombios.bin _rombios*_.c
        rm -f  as86-sym.txt ld86-sym.txt 
index 2b27e01f7c9c8ce8736b986f489218b1b1ebe453,2b27e01f7c9c8ce8736b986f489218b1b1ebe453..b5482ea8c72776029bd6cb991a7be20376149258
@@@ -10,17 -10,17 +10,22 @@@ RELVERS = `pwd | sed "s-.*/--" | sed "s
  
  VGABIOS_DATE = "-DVGABIOS_DATE=\"$(RELDATE)\""
  
++.PHONY: all
  all: bios cirrus-bios
  
++.PHONY: bios
  bios: biossums vgabios.bin vgabios.debug.bin 
  
++.PHONY: cirrus-bios
  cirrus-bios: vgabios-cirrus.bin vgabios-cirrus.debug.bin
  
++.PHONY: clean
  clean:
        rm -f biossums *.o *.s *.ld86 \
            temp.awk.* vgabios*.orig _vgabios_* _vgabios-debug_* core vgabios*.bin vgabios*.txt $(RELEASE).bin *.bak
        rm -f VGABIOS-lgpl-latest*.bin
  
++.PHONY: release
  release: 
        VGABIOS_VERS=\"-DVGABIOS_VERS=\\\"$(RELVERS)\\\"\" make bios cirrus-bios
        /bin/rm -f  *.o *.s *.ld86 \
index 17b13b2be266c84dc294dde5e712d48a60c465c0,17b13b2be266c84dc294dde5e712d48a60c465c0..d34d10737382724cf3a251f109d5011ea2efa076
@@@ -43,6 -43,6 +43,7 @@@ LDFLAGS  = -m elf_i38
  
  OBJECTS = head.o trap.o vm86.o setup.o util.o
  
++.PHONY: all
  all: vmxassist.bin
  
  vmxassist.bin: vmxassist.ld $(OBJECTS)
@@@ -74,6 -74,6 +75,7 @@@ offsets.h: ge
  gen:  vm86.h gen.c
        $(HOSTCC) $(HOSTCFLAGS) -I. $(XENINC) -o gen gen.c
  
++.PHONY: clean
  clean:
        rm -f vmxassist vmxassist.tmp vmxassist.bin vmxassist.run vmxassist.sym head.s
        rm -f $(OBJECTS)
index ce9395a8ab7c01dd9798e70a3d3cfad241a1fecf,ce9395a8ab7c01dd9798e70a3d3cfad241a1fecf..dc1456667f75c5439a73eff92ef4030c3deaedeb
@@@ -2,12 -2,12 +2,16 @@@
  XEN_ROOT=../..
  linuxsparsetree = $(XEN_ROOT)/linux-2.6-xen-sparse
  
++.PHONY: all
  all:
  
++.PHONY: check
  check:
  
++.PHONY: install
  install:
        mkdir -p $(DESTDIR)/usr/include/xen/linux
        install -m0644 $(linuxsparsetree)/include/xen/public/*.h $(DESTDIR)/usr/include/xen/linux
  
++.PHONY: clean
  clean:
index 09c69c77ec2b76e5714a4dfef6b6ef145b5959e6,09c69c77ec2b76e5714a4dfef6b6ef145b5959e6..d17550f4bf74f2b46cf01fd1be40c26f69baf0b6
@@@ -19,6 -19,6 +19,7 @@@ LDFLAGS+=-stati
  endif
  #DOCS=qemu-doc.html qemu-tech.html qemu.1
  
++.PHONY: all
  all: $(DOCS) HEADERS
        for d in $(TARGET_DIRS); do \
        $(MAKE) -C $$d $@ || exit 1 ; \
@@@ -30,6 -30,6 +31,7 @@@ qemu-img: qemu-img.c block.c block-cow.
  dyngen$(EXESUF): dyngen.c
        $(HOST_CC) $(CFLAGS) $(DEFINES) -o $@ $^
  
++.PHONY: clean
  clean:
  # avoid old build problems by removing potentially incorrect old files
        rm -f config.mak config.h op-i386.h opc-i386.h gen-op-i386.h op-arm.h opc-arm.h gen-op-arm.h 
@@@ -41,6 -41,6 +43,7 @@@
        rm -f config-host.mak config-host.h
        rm -f keysym_adapter_sdl.h keysym_adapter_vnc.h
  
++.PHONY: distclean
  distclean: clean
        rm -f config-host.mak config-host.h
        rm -f keysym_adapter_sdl.h keysym_adapter_vnc.h
@@@ -52,6 -52,6 +55,7 @@@ KEYMAPS=da     en-gb  et  fr     fr-c
  ar      de     en-us  fi  fr-be  hr     it  lv  nl         pl  ru     th \
  common  de-ch  es     fo  fr-ca  hu     ja  mk  nl-be      pt  sl     tr
  
++.PHONY: install
  install: all 
        mkdir -p "$(bindir)"
        mkdir -p "$(DESTDIR)/$(datadir)"
          done
  
  # various test targets
++.PHONY: test speed test2
  test speed test2: all
        $(MAKE) -C tests $@
  
++.PHONY: TAGS
  TAGS: 
        etags *.[ch] tests/*.[ch]
  
@@@ -79,6 -79,6 +85,7 @@@ qemu.1: qemu-doc.tex
  FILE=qemu-$(shell cat VERSION)
  
  # tar release (use 'make -k tar' on a checkouted tree)
++.PHONY: tar
  tar:
        rm -rf /tmp/$(FILE)
        cp -r . /tmp/$(FILE)
@@@ -86,6 -86,6 +93,7 @@@
        rm -rf /tmp/$(FILE)
  
  # generate a binary distribution
++.PHONY: tarbin
  tarbin:
        ( cd $(DESTDIR) ; tar zcvf ~/qemu-$(VERSION)-i386.tar.gz \
        $(DESTDIR)/$(bindir)/qemu $(DESTDIR)/$(bindir)/qemu-fast \
@@@ -100,6 -100,6 +108,7 @@@ ifneq ($(wildcard .depend),
  include .depend
  endif
  
++.PHONY: HEADERS
  HEADERS:
  
  ifdef CONFIG_SDL
index 3219711167ff5139e3d2ebfa374b250658444376,3219711167ff5139e3d2ebfa374b250658444376..c5dcc83208ab496b5506270b4e7e6dc00d7239e3
@@@ -329,6 -329,6 +329,7 @@@ sdl.o: sdl.c keyboard_rdesktop.
  sdlaudio.o: sdlaudio.c
        $(CC) $(CFLAGS) $(DEFINES) $(SDL_CFLAGS) -c -o $@ $<
  
++.PHONY: depend
  depend: $(SRCS)
        $(CC) -MM $(CFLAGS) $(DEFINES) $^ 1>.depend
  
@@@ -382,12 -382,12 +383,15 @@@ mixeng.o: mixeng.c mixeng.h mixeng_temp
  %.o: %.S
        $(CC) $(DEFINES) -c -o $@ $<
  
++.PHONY: clean
  clean:
        rm -rf *.o  *.a *~ $(PROGS) gen-op.h opc.h op.h nwfpe slirp
        rm -rf config.mak config.h
  
++.PHONY: distclean
  distclean: clean
  
++.PHONY: install
  install: all 
        if [ ! -d $(INSTALL_DIR) ];then mkdir -p $(INSTALL_DIR);fi
        if [ ! -d $(DESTDIR)$(configdir) ];then mkdir -p $(DESTDIR)$(configdir);fi
index cbe5855a1d3e0376f23afa92afa30cb83d358b1b,cbe5855a1d3e0376f23afa92afa30cb83d358b1b..e4a6ac798af9b445a75234d2383150cf65de0c65
@@@ -67,10 -67,10 +67,14 @@@ LIB += libxenctrl.so libxenctrl.so.$(MA
  LIB += libxenguest.a
  LIB += libxenguest.so libxenguest.so.$(MAJOR) libxenguest.so.$(MAJOR).$(MINOR)
  
++.PHONY: all
  all: build
++
++.PHONY: build
  build: check-for-zlib mk-symlinks
        $(MAKE) $(LIB)
  
++.PHONY: check-for-zlib
  check-for-zlib:
        @if [ ! -e /usr/include/zlib.h ]; then \
        echo "***********************************************************"; \
@@@ -79,6 -79,6 +83,7 @@@
        false; \
        fi
  
++.PHONY: install
  install: build
        [ -d $(DESTDIR)/usr/$(LIBDIR) ] || $(INSTALL_DIR) $(DESTDIR)/usr/$(LIBDIR)
        [ -d $(DESTDIR)/usr/include ] || $(INSTALL_DIR) $(DESTDIR)/usr/include
        ln -sf libxenguest.so.$(MAJOR) $(DESTDIR)/usr/$(LIBDIR)/libxenguest.so
        $(INSTALL_DATA) xenguest.h $(DESTDIR)/usr/include
  
--.PHONY: TAGS clean rpm install all
--
++.PHONY: TAGS
  TAGS:
        etags -t *.c *.h
  
++.PHONY: clean
  clean:
        rm -rf *.a *.so* *.o *.opic *.rpm $(LIB) *~ $(DEPS) xen
  
++.PHONY: rpm
  rpm: build
        rm -rf staging
        mkdir staging
index 003947c8e31e60e2df8e44c2033c770f0c8f400e,003947c8e31e60e2df8e44c2033c770f0c8f400e..eb110d7e2b2f5337986389cf958a6618edec2ed6
@@@ -18,7 -18,7 +18,10 @@@ TARGETS  = xenperf xc_shado
  INSTALL_BIN  = $(TARGETS) xencons
  INSTALL_SBIN = netfix xm xen-bugtool xend xenperf
  
++.PHONY: all
  all: build
++
++.PHONY: build
  build: $(TARGETS)
        $(MAKE) -C miniterm
        $(MAKE) -C cpuperf
@@@ -27,6 -27,6 +30,7 @@@ ifneq ($(XEN_TARGET_ARCH),ia64
  endif
        $(MAKE) -C lomount
  
++.PHONY: install
  install: build
        [ -d $(DESTDIR)/usr/bin ] || $(INSTALL_DIR) $(DESTDIR)/usr/bin
        [ -d $(DESTDIR)/usr/sbin ] || $(INSTALL_DIR) $(DESTDIR)/usr/sbin
@@@ -39,6 -39,6 +43,7 @@@
  #       Likewise mbootpack
  #     $(MAKE) -C mbootpack install
  
++.PHONY: clean
  clean:
        $(RM) *.o $(TARGETS) *~
        $(MAKE) -C miniterm clean
index 185660efcb537d7f76c8c7083a8369f4dca87170,185660efcb537d7f76c8c7083a8369f4dca87170..932c5e82b5cc245064fa8cab80db8d7ac3062981
@@@ -26,8 -26,8 +26,10 @@@ TARGETS      = cpuperf-xen cpuperf-perf
  INSTALL_BIN  = $(TARGETS)
  
  
++.PHONY: all
  all: $(TARGETS)
  
++.PHONY: clean
  clean:
        $(RM) *.o $(TARGETS)
  
@@@ -40,6 -40,6 +42,7 @@@ cpuperf-xen: cpuperf.c $(HDRS) Makefil
  cpuperf-perfcntr: cpuperf.c $(HDRS) Makefile
        $(CC) $(CFLAGS) -DPERFCNTR -o $@ $<
  
++.PHONY: install
  install: all
        $(INSTALL_PROG) $(INSTALL_BIN) $(DESTDIR)/usr/bin
  
index 1a47c0b45fb75919331fdfe1c7e497de9397b282,1a47c0b45fb75919331fdfe1c7e497de9397b282..0ed470b1d3c515ddf7702dcd17c7b1c045a008c7
@@@ -13,12 -13,12 +13,17 @@@ OBJS     = $(patsubst %.c,%.o,$(wildcar
  
  BIN      = lomount
  
++.PHONY: all
  all: build
++
++.PHONY: build
  build: $(BIN)
  
++.PHONY: install
  install: build
        $(INSTALL_PROG) $(BIN) $(SCRIPTS) $(DESTDIR)/usr/bin
  
++.PHONY: clean
  clean:
        $(RM) *.a *.so *.o *.rpm $(BIN)
  
index d1e3334bf787358d506308d38440b0d5b0ae8e79,d1e3334bf787358d506308d38440b0d5b0ae8e79..18116688f3219439254361e78332de81bb507473
@@@ -8,9 -8,9 +8,13 @@@ INSTALL_DIR     = $(INSTALL) -d -m075
  XEN_ROOT=../../..
  include $(XEN_ROOT)/tools/Rules.mk
  
++.PHONY: all
  all: build
++
++.PHONY: build
  build: mbootpack
  
++.PHONY: install
  install: build
        $(INSTALL_PROG) mbootpack $(DESTDIR)/usr/bin
  
@@@ -33,6 -33,6 +37,7 @@@ DEPS     = .*.
  mbootpack: $(OBJS)
        $(HOSTCC) -o $@ $(filter-out %.a, $^)
  
++.PHONY: clean
  clean:
        $(RM) mbootpack *.o $(DEPS) bootsect setup bzimage_header.c bin2c
  
@@@ -60,7 -60,7 +65,6 @@@ buildimage.c: bzimage_header.
  %.o: %.c
        $(HOSTCC) $(DEPFLAGS) $(CFLAGS) $(INCS) $(DEFS) -c $< -o $@
  
--.PHONY: all clean gdb
  .PRECIOUS: $(OBJS) $(OBJS:.o=.c) $(DEPS)
  .SUFFIXES: 
  
index 6229d6b95b94f8529c5adbfa21c0703998218de9,6229d6b95b94f8529c5adbfa21c0703998218de9..5b596a5f9f91025329ce588270c48f8099e917e9
@@@ -7,12 -7,12 +7,15 @@@ INSTALL_DIR   = $(INSTALL) -d -m075
  
  TARGET = miniterm
  
++.PHONY: all
  all: $(TARGET)
  
++.PHONY: install
  install: all
        [ -d $(DESTDIR)/usr/bin ] || $(INSTALL_DIR) $(DESTDIR)/usr/bin
        $(INSTALL_PROG) $(TARGET) $(DESTDIR)/usr/bin
  
++.PHONY: clean
  clean:
        $(RM) *.o $(TARGET) *~
  
index 8880ceabf7a760f2d0496808e4081f008082a128,8880ceabf7a760f2d0496808e4081f008082a128..d15bb4d12bd6d3651b9bb8968668cb1ef823110b
@@@ -8,10 -8,10 +8,13 @@@ OBJS     = $(patsubst %.c,%.o,$(wildcar
  
  TARGET   = nsplitd
  
++.PHONY: all
  all: $(TARGET)
  
++.PHONY: install
  install: all
  
++.PHONY: clean
  clean:
        $(RM) *.o $(TARGET) *~
  
index 197b89a1a865a21a787d3104d454a18c36142115,fbe27a9bf1ee9603ad22c3eda44b55efe6b3102b..75bf46bc83ac04dada2129baa90442ff9efada53
@@@ -2,10 -2,10 +2,13 @@@
  XEN_ROOT = ../..
  include $(XEN_ROOT)/tools/Rules.mk
  
++.PHONY: all
  all: build
++.PHONY: build
  build:
        CFLAGS="$(CFLAGS)" python setup.py build
  
++.PHONY: install
  ifndef XEN_PYTHON_NATIVE_INSTALL
  install: all
        CFLAGS="$(CFLAGS)" python setup.py install --home="$(DESTDIR)/usr"
@@@ -14,5 -14,5 +17,6 @@@ install: al
        CFLAGS="$(CFLAGS)" python setup.py install --root="$(DESTDIR)"
  endif
  
++.PHONY: clean
  clean:
 -      rm -rf build tmp *.pyc *.pyo *.o *.a *~
 +      rm -rf build tmp *.pyc *.pyo *.o *.a *~ a.out
index 87d08a22e65f14b210f91f3ae437b300baf979f2,87d08a22e65f14b210f91f3ae437b300baf979f2..b3e404cb9ffe97f86ee8f992d7adf551566e3db6
@@@ -1,12 -1,12 +1,14 @@@
  XEN_ROOT = ../..
  include $(XEN_ROOT)/tools/Rules.mk
  
--.PHONY: all build install clean
--
++.PHONY: all
  all: build
++
++.PHONY: build
  build:
        CFLAGS="$(CFLAGS)" python setup.py build
  
++.PHONY: install
  ifndef XEN_PYTHON_NATIVE_INSTALL
  install: all
        CFLAGS="$(CFLAGS)" python setup.py install --home="$(DESTDIR)/usr" --force
@@@ -15,8 -15,8 +17,10 @@@ install: al
        CFLAGS="$(CFLAGS)" python setup.py install --root="$(DESTDIR)" --force
  endif
  
++.PHONY: test
  test:
        export LD_LIBRARY_PATH=$$(readlink -f ../libxc):$$(readlink -f ../xenstore); python test.py -b -u
  
++.PHONY: clean
  clean:
        rm -rf build *.pyc *.pyo *.o *.a *~
index 75646c6f4696c15deb35e212f1c39eb5ee2c2fa6,75646c6f4696c15deb35e212f1c39eb5ee2c2fa6..7ac197b8549297cb46d88a8cd3c53500c0575086
@@@ -54,8 -54,8 +54,10 @@@ ACM_POLICY_SUFFIX = security_policy.xm
  ACM_LABEL_SUFFIX  = security_label_template.xml
  
  ifeq ($(ACM_SECURITY),y)
++.PHONY: all
  all: build
  
++.PHONY: install
  install: all $(ACM_CONFIG_FILE)
        $(INSTALL_DIR) -p $(DESTDIR)/usr/sbin
        $(INSTALL_PROG) -p $(ACM_INST_TOOLS) $(DESTDIR)/usr/sbin
@@@ -79,11 -79,11 +81,14 @@@ els
        python python/setup.py install --root="$(DESTDIR)"
  endif
  else
++.PHONY: all
  all:
  
++.PHONY: install
  install:
  endif
  
++.PHONY: build
  build: mk-symlinks $(ACM_INST_TOOLS) $(ACM_NOINST_TOOLS)
        python python/setup.py build
        chmod 700 $(ACM_SCRIPTS)
@@@ -100,6 -100,6 +105,7 @@@ get_decision: $(OBJS_GETD
  xensec_gen: xensec_gen.py
        cp -f $^ $@
  
++.PHONY: clean
  clean:
        $(RM) $(ACM_INST_TOOLS) $(ACM_NOINST_TOOLS)
        $(RM) $(ACM_OBJS)
        $(RM) -r xen
        $(RM) -r build
  
++.PHONY: mrproper
  mrproper: clean
  
++.PHONY: boot_install
  boot_install: install
        $(ACM_SCRIPT_DIR)/updategrub.sh $(POLICY) $(KERNEL_VERSION)
  
index 06aa7c50ef36cfda9e9557d3e6de5b937e261397,06aa7c50ef36cfda9e9557d3e6de5b937e261397..c9ae1deb0d16efc5ccbb632887c605e7a1903d93
@@@ -1,2 -1,2 +1,3 @@@
  
++.PHONY: all
  all:
index 99b6b20408155a25d775811a9d836c364e99947c,99b6b20408155a25d775811a9d836c364e99947c..afa6578619c35cfeb31fb3f0e8c00e11b67b1669
@@@ -6,14 -6,14 +6,17 @@@ TARGET := test_x86_emulato
  
  HOSTCFLAGS += -D__TEST_HARNESS__
  
++.PHONY: all
  all: $(TARGET)
  
  $(TARGET): x86_emulate.o test_x86_emulator.o
        $(HOSTCC) -o $@ $^
  
++.PHONY: clean
  clean:
        rm -rf $(TARGET) *.o *~ core
  
++.PHONY: install
  install:
  
  x86_emulate.o: $(XEN_ROOT)/xen/arch/x86/x86_emulate.c
index 7d16a7369f9cc5fc5029533786c8f7f17534403a,7d16a7369f9cc5fc5029533786c8f7f17534403a..33827c6a90cf4da6647be9dcc134274c3755d85e
@@@ -5,10 -5,10 +5,6 @@@ export VNET_ROOT = $(shell pwd
  include $(VNET_ROOT)/Make.env
  endif
  
--.PHONY: all compile install dist clean pristine
--.PHONY: gc-all gc-install gc-clean
--.PHONY: help
--
  SUBDIRS:=
  SUBDIRS+= examples
  SUBDIRS+= scripts
@@@ -17,11 -17,11 +13,13 @@@ SUBDIRS+= libxuti
  SUBDIRS+= vnetd
  SUBDIRS+= vnet-module
  
++.PHONY: all
  all: compile
  
  gc.tar.gz:
        wget http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/$@
  
++.PHONY: gc
  gc: gc.tar.gz
        tar xfz gc.tar.gz
        ln -sf gc?.? gc
@@@ -31,10 -31,10 +29,13 @@@ $(GC_LIB_A): g
        make -C gc
        DESTDIR="" make -C gc install
  
++.PHONY: gc-all
  gc-all: $(GC_LIB_A)
  
++.PHONY: gc-install
  gc-install:
  
++.PHONY: gc-clean
  gc-clean:
        -@$(RM) -r gc?.? gc
  
@@@ -50,19 -50,19 +51,25 @@@ subtgt = $(patsubst %,%-$(1),$(SUBDIRS)
  %-install:
        $(call submak,install)
  
++.PHONY: compile
  compile: $(call subtgt,all)
  
++.PHONY: install
  install: DESTDIR=
  install: dist
  
++.PHONY: dist
  dist: compile $(call subtgt,install)
  
++.PHONY: clean
  clean: $(call subtgt,clean)
        -@$(RM) -r build
  
++.PHONY: pristine
  pristine: clean
        -@$(RM) gc.tar.gz
  
++.PHONY: help
  help:
        @echo 'Cleaning targets:'
        @echo '  clean     - clean subdirs and remove the build dir'
index 6ca7585f15b4b4d1a577f64164b0a0f5f76a994e,6ca7585f15b4b4d1a577f64164b0a0f5f76a994e..67f70ab68dd7f8a2a85c9c1de03fc6f96ed8396f
@@@ -23,8 -23,8 +23,10 @@@ DOC_MAN5     := $(patsubst man/%.pod.5,man5
  
  .PHONY: all man clean install
  
++.PHONY: all
  all: man
  
++.PHONY: man
  man:
        @if which $(POD2MAN) 1>/dev/null 2>/dev/null; then \
        $(MAKE) $(DOC_MAN1) $(DOC_MAN5); fi
@@@ -39,10 -39,10 +41,12 @@@ man5/%.5: man/%.pod.5 Makefil
        $(POD2MAN) --release=$(VERSION) --name=`echo $@ | sed 's/^man5.//'| \
                sed 's/.5//'` -s 5 -c $(HEADER) $< $@
  
++.PHONY: clean
  clean:
        @$(RM) -rf man5
        @$(RM) -rf man1
  
++.PHONY:  install
   install: all
        $(INSTALL_DIR) $(DESTDIR)$(MAN_DIR)
        $(CP) -dR man1 $(DESTDIR)$(MAN_DIR)
index 6953ef10cd864642f0b8c09c48bd02bd2a0831bf,6953ef10cd864642f0b8c09c48bd02bd2a0831bf..ba605ca31832cf9c36723e1153bf66ed87e8d3ea
@@@ -7,13 -7,13 +7,14 @@@ INSTALL_DIR   = $(INSTALL) -d -m075
  
  XEN_SCRIPT_DIR  = $(DESTDIR)/etc/xen/scripts
  
--.PHONY: all install clean
--
++.PHONY: all
  all:
  
++.PHONY: install
  install:
        $(INSTALL_DIR) $(XEN_SCRIPT_DIR)
        $(INSTALL_PROG) network-vnet $(XEN_SCRIPT_DIR)
        $(INSTALL_PROG) vnet-insert $(XEN_SCRIPT_DIR)
  
--clean:
++.PHONY: clean
++clean:
index 8ace83e55436948fa8542ed100af6b1575ddc6a2,8ace83e55436948fa8542ed100af6b1575ddc6a2..757e5567d6ac646354bc1c3499a0f3a3cbef5c4b
@@@ -42,8 -42,8 +42,10 @@@ LIB      += libxutil.so.$(MAJOR
  LIB      += libxutil.so.$(MAJOR).$(MINOR)
  LIB      += libxutil.a
  
++.PHONY: all
  all: build
  
++.PHONY: build
  build: #check-for-zlib
        $(MAKE) $(LIB)
  
@@@ -61,6 -61,6 +63,7 @@@ libxutil.so.$(MAJOR).$(MINOR): $(PIC_OB
  libxutil.a: $(LIB_OBJS)
        $(AR) rc $@ $^
  
++.PHONY: check-for-zlib
  check-for-zlib:
        @if [ ! -e /usr/include/zlib.h ]; then \
        echo "***********************************************************"; \
@@@ -69,6 -69,6 +72,7 @@@
        false; \
        fi
  
++.PHONY: install
  install: build
        [ -d $(DESTDIR)/usr/$(LIBDIR) ] || $(INSTALL_DIR) -p $(DESTDIR)/usr/$(LIBDIR)
        $(INSTALL_PROG) libxutil.so.$(MAJOR).$(MINOR) $(DESTDIR)/usr/$(LIBDIR)
@@@ -76,6 -76,6 +80,7 @@@
        ln -sf libxutil.so.$(MAJOR).$(MINOR) $(DESTDIR)/usr/$(LIBDIR)/libxutil.so.$(MAJOR)
        ln -sf libxutil.so.$(MAJOR) $(DESTDIR)/usr/$(LIBDIR)/libxutil.so
  
++.PHONY: clean
  clean:
        -@$(RM) *.a *.so* *.o *.opic *.rpm 
        -@$(RM) *~
index 05f737edc416358e01c38de25540d82ad40dfc5c,05f737edc416358e01c38de25540d82ad40dfc5c..077d6b6224de09fb1a2eb9973faefe3a1728fae5
@@@ -7,12 -7,12 +7,13 @@@ INSTALL_DIR   = $(INSTALL) -d -m075
  
  SBIN_DIR        = $(DESTDIR)/usr/sbin
  
--.PHONY: all install clean
--
++.PHONY: all
  all:
  
++.PHONY: install
  install:
        $(INSTALL_DIR) $(SBIN_DIR)
        $(INSTALL_PROG) vn $(SBIN_DIR)
  
--clean:
++.PHONY: clean
++clean:
index 74a3d07b40083cb35992934be531cc5beefa686c,74a3d07b40083cb35992934be531cc5beefa686c..fe54c21bd16701b111511ca3f6b5761764b27759
@@@ -19,6 -19,6 +19,7 @@@
  VNET_ROOT = $(shell cd .. && pwd)
  include $(VNET_ROOT)/Make.env
  
++.PHONY: all
  all: vnetd
  
  #----------------------------------------------------------------------------
@@@ -104,10 -104,10 +105,12 @@@ VNETD_LIBS:= $(GC_LIB_A
  vnetd: $(VNETD_OBJ)
        $(CC) $(CFLAGS) -o $@ $^ $(VNETD_LIBS) -ldl -lpthread
  
++.PHONY: install
  install: vnetd
        mkdir -p $(DESTDIR)$(VNETD_INSTALL_DIR)
        install -m 0755 vnetd $(DESTDIR)$(VNETD_INSTALL_DIR)
  
++.PHONY: clean
  clean:
        -@$(RM) *.a *.o *~
        -@$(RM) vnetd
index d34882f6199b9ed23a7deb1fe3226c3316e21fa4,d34882f6199b9ed23a7deb1fe3226c3316e21fa4..377f1b04369ac6efce0e0fa5a53ed038aec46779
@@@ -13,14 -13,14 +13,18 @@@ TPM_EMULATOR_TARFILE = tpm_emulator-0.2
  
  GMP_HEADER = /usr/include/gmp.h
  
++.PHONY: all
  all: build
  
++.PHONY: build
  build: $(TPM_EMULATOR_DIR) $(VTPM_DIR) build_sub
  
++.PHONY: install
  install: build
        $(MAKE) -C $(TPM_EMULATOR_DIR) $@
        $(MAKE) -C $(VTPM_DIR) $@
  
++.PHONY: clean
  clean:
        @if [ -d $(TPM_EMULATOR_DIR) ]; \
                then $(MAKE) -C $(TPM_EMULATOR_DIR) clean; \
@@@ -29,6 -29,6 +33,7 @@@
                then $(MAKE) -C $(VTPM_DIR) clean; \
        fi
  
++.PHONY: mrproper
  mrproper:
        rm -f $(TPM_EMULATOR_TARFILE)
        rm -rf $(TPM_EMULATOR_DIR)
@@@ -58,6 -58,6 +63,7 @@@ $(VTPM_DIR): $(TPM_EMULATOR_TARFILE) tp
        patch -p1 < ../tpm_emulator-0.2b-x86_64.patch; \
        patch -p1 <../vtpm.patch
  
++.PHONY: build_sub
  build_sub:
        @if [ -e $(GMP_HEADER) ]; then \
                $(MAKE) -C $(VTPM_DIR); \
index f57b82facb0d766f8b28a938ba0853fbf12a4f10,f57b82facb0d766f8b28a938ba0853fbf12a4f10..1ae3a180eec8140f93e1dca55bb03ffcbe7f3db0
@@@ -6,8 -6,8 +6,10 @@@ include $(XEN_ROOT)/tools/vtpm_manager/
  SUBDIRS               = crypto tcs util manager
  OPENSSL_HEADER        = /usr/include/openssl/crypto.h
  
++.PHONY: all
  all: build
  
++.PHONY: build
  build:
        @if [ -e $(OPENSSL_HEADER) ]; then \
                @set -e; for subdir in $(SUBDIRS); do \
                echo "*** Cannot build vtpm_manager: OpenSSL developement files missing."; \
        fi
  
++.PHONY: install
  install: build
        @set -e; for subdir in $(SUBDIRS); do \
                $(MAKE) -C $$subdir $@; \
        done
  
++.PHONY: clean
  clean:
        @set -e; for subdir in $(SUBDIRS); do \
                $(MAKE) -C $$subdir $@; \
        done
  
  
++.PHONY: mrproper
  mrproper:
        @set -e; for subdir in $(SUBDIRS); do \
                $(MAKE) -C $$subdir $@; \
index 160fce812e93ce81830b638702170d3a06f4fd9d,160fce812e93ce81830b638702170d3a06f4fd9d..63233a940eebe61e4b2bfbd6ff8d0af3c8480e10
@@@ -3,15 -3,15 +3,20 @@@ include $(XEN_ROOT)/tools/vtpm_manager/
  
  BIN           = libtcpaCrypto.a
  
++.PHONY: all
  all: build
  
++.PHONY: build
  build: $(BIN)
  
++.PHONY: install
  install: build
  
++.PHONY: clean
  clean:
        rm -f *.a *.so *.o *.rpm $(DEP_FILES)
  
++.PHONY: mrproper
  mrproper: clean
        rm -f *~
  
index 278a37e963ef0622bbc65fef1f3b0dd46e09277a,278a37e963ef0622bbc65fef1f3b0dd46e09277a..d0b3526b429584723c1c1421f3ab5caaec385bbb
@@@ -3,19 -3,19 +3,24 @@@ include $(XEN_ROOT)/tools/vtpm_manager/
  
  BIN           = vtpm_managerd
  
++.PHONY: all
  all: build
  
++.PHONY: build
  build: $(BIN)
  
++.PHONY: install
  install: build
        if [ ! -d "$(DESTDIR)/var/vtpm/fifos" ]; \
                then mkdir -p $(DESTDIR)/var/vtpm/fifos; \
        fi
        $(INSTALL_PROG) $(BIN) $(TOOLS_INSTALL_DIR)
  
++.PHONY: clean
  clean:
        rm -f *.a *.so *.o *.rpm $(DEP_FILES)
  
++.PHONY: mrproper
  mrproper: clean
        rm -f $(BIN) *~
  
index 56f4166fdfabb33df0eecea9328095700f7676bd,56f4166fdfabb33df0eecea9328095700f7676bd..9d25817e63452235c5cea6b9822b773a20b565d5
@@@ -3,15 -3,15 +3,20 @@@ include $(XEN_ROOT)/tools/vtpm_manager/
  
  BIN           = libTCS.a
  
++.PHONY: all
  all: build
  
++.PHONY: build
  build: $(BIN)
  
++.PHONY: install
  install: build
  
++.PHONY: clean
  clean:
        rm -f *.a *.so *.o *.rpm $(DEP_FILES)
  
++.PHONY: mrproper
  mrproper: clean
        rm -f *~
  
index 8e59d0d8d379cf4cd3b3db397a4feb3111edaf36,8e59d0d8d379cf4cd3b3db397a4feb3111edaf36..9e26c5df1507f76d7ab90c16777a0445905c2dfc
@@@ -3,15 -3,15 +3,20 @@@ include $(XEN_ROOT)/tools/vtpm_manager/
  
  BIN           = libTCGUtils.a
  
++.PHONY: all
  all: build
  
++.PHONY: build
  build: $(BIN)
  
++.PHONY: install
  install: build
  
++.PHONY: clean
  clean:
        rm -f *.a *.so *.o *.rpm $(DEP_FILES)
  
++.PHONY: mrproper
  mrproper: clean
        rm -f *~
  
index 9907dfa0c5dc2db9063e88c6640f50af991bac40,9907dfa0c5dc2db9063e88c6640f50af991bac40..4c7354afb8824e37937e3a4c07f39d3381a9c8d2
@@@ -32,6 -32,6 +32,8 @@@ LDLIBS                        = -L$(XEN_LIBXC) -lxenguest -l
  
  .PHONY: all
  all: build
++
++.PHONY: build
  build: $(PROGRAMS)
  
  $(PROGRAMS): %: %.o
@@@ -44,6 -44,6 +46,7 @@@ install: buil
        $(INSTALL_PROG) $(PROGRAMS) $(DESTDIR)$(PROGRAMS_INSTALL_DIR)
  
  
++.PHONY: clean
  clean:
        $(RM) *.o $(PROGRAMS)
        $(RM) $(PROG_DEP)
index ffdca8049ec65dfc654ebf026aede5de8e923dee,ffdca8049ec65dfc654ebf026aede5de8e923dee..baba3e129de8f72519cc1466f4e546e00f775ec1
@@@ -28,16 -28,16 +28,20 @@@ LDFLAGS += -L $(XEN_LIBXC
  BIN = setmask xenbaked
  SCRIPTS = xenmon.py
  
++.PHONY: all
  all: build
  
++.PHONY: build
  build: $(BIN)
  
++.PHONY: install
  install: xenbaked setmask
        [ -d $(DESTDIR)$(sbindir) ] || $(INSTALL_DIR) $(DESTDIR)$(sbindir)
        $(INSTALL_PROG) xenbaked $(DESTDIR)$(sbindir)/xenbaked
        $(INSTALL_PROG) setmask  $(DESTDIR)$(sbindir)/setmask
        $(INSTALL_PROG) xenmon.py  $(DESTDIR)$(sbindir)/xenmon.py
  
++.PHONY: clean
  clean:
        rm -f $(BIN)
  
index 52832017ff9e058e970e02c476a899473b5858a8,52832017ff9e058e970e02c476a899473b5858a8..f97f2a7618f318eed52f1c2f529167caa10a1008
@@@ -41,6 -41,6 +41,7 @@@ WARN_FLAGS=-Wall -Werro
  CFLAGS+=-Isrc -I$(XEN_LIBXC) -I$(XEN_XENSTORE)
  LDFLAGS+=-Lsrc
  
++.PHONY: all
  all: $(LIB)
  
  $(LIB): $(OBJECTS)
@@@ -62,6 -62,6 +63,7 @@@ src/libxenstat.so.$(MAJOR): $(LIB
  src/libxenstat.so: src/libxenstat.so.$(MAJOR)
        $(MAKE_LINK) $(<F) $@
  
++.PHONY: install
  install: all
  #install: all
  #     $(INSTALL_DATA) src/xenstat.h $(DESTDIR)$(includedir)/xenstat.h
@@@ -84,6 -84,6 +86,7 @@@ BINDINGS=$(PYLIB) $(PYMOD) $(PERLLIB) $
  BINDINGSRC=$(PYSRC) $(PERLSRC)
  
  # The all-bindings target builds all the language bindings
++.PHONY: all-bindings
  all-bindings: perl-bindings python-bindings
  
  # The install-bindings target installs all the language bindings
@@@ -110,6 -110,6 +113,7 @@@ install-python-bindings: $(PYLIB) $(PYM
        $(INSTALL_PROG) $(PYMOD) $(DESTDIR)$(pythonlibdir)/xenstat.py
  
  ifeq ($(XENSTAT_PYTHON_BINDINGS),y)
++.PHONY: all
  all: python-bindings
  install: install-python-bindings
  endif
@@@ -122,8 -122,8 +126,10 @@@ $(PERLSRC) $(PERLMOD): bindings/swig/xe
  $(PERLLIB): $(PERLSRC)
        $(CC) $(CFLAGS) $(LDFLAGS) $(PERL_FLAGS) -shared -lxenstat -o $@ $<
  
++.PHONY: perl-bindings
  perl-bindings: $(PERLLIB) $(PERLMOD)
  
++.PHONY: install-perl-bindings
  perllibdir=$(prefix)/lib/perl5
  perlmoddir=$(prefix)/share/perl5
  install-perl-bindings: $(PERLLIB) $(PERLMOD)
        $(INSTALL_PROG) $(PERLMOD) $(DESTDIR)$(perlmoddir)/xenstat.pm
  
  ifeq ($(XENSTAT_PERL_BINDINGS),y)
++.PHONY: all
  all: perl-bindings
++
++.PHONY: install
  install: install-perl-bindings
  endif
  
++.PHONY: clean
  clean:
        rm -f $(LIB) $(SHLIB) $(SHLIB_LINKS) $(OBJECTS) \
              $(BINDINGS) $(BINDINGSRC)
index 633fd570646d639f1dc9627271a62b2229764b7c,633fd570646d639f1dc9627271a62b2229764b7c..d3b7671bdb6298c3d44dbf70291947df776846f8
@@@ -14,6 -14,6 +14,7 @@@ XEN_ROOT=../../.
  include $(XEN_ROOT)/tools/Rules.mk
  
  ifneq ($(XENSTAT_XENTOP),y)
++.PHONY: all install xentop
  all install xentop:
  else
  
@@@ -30,15 -30,15 +31,19 @@@ CFLAGS += -DGCC_PRINTF -Wall -Werror -I
  LDFLAGS += -L$(XEN_LIBXENSTAT)
  LDLIBS += -lxenstat -lncurses
  
++.PHONY: all
  all: xentop
  
++.PHONY: xentop
  xentop: xentop.o
  
++.PHONY: install
  install: xentop xentop.1
        $(INSTALL_PROG) xentop $(DESTDIR)$(sbindir)/xentop
        $(INSTALL_DATA) xentop.1 $(DESTDIR)$(man1dir)/xentop.1
  
  endif
  
++.PHONY: clean
  clean:
        rm -f xentop xentop.o
index 70877eff8a63d8866636bfd4f992e41f8d374891,70877eff8a63d8866636bfd4f992e41f8d374891..708662e8fc32e5acbfd7428527d824266c4c1263
@@@ -27,11 -27,11 +27,13 @@@ CLIENTS := xenstore-exists xenstore-lis
  CLIENTS += xenstore-write
  CLIENTS_OBJS := $(patsubst xenstore-%,xenstore_%.o,$(CLIENTS))
  
++.PHONY: all
  all: libxenstore.so xenstored $(CLIENTS) xs_tdb_dump xenstore-control xenstore-ls
  
  test_interleaved_transactions: test_interleaved_transactions.o
        $(LINK.o) $^ $(LOADLIBES) $(LDLIBS) -L. -lxenstore -o $@
  
++.PHONY: testcode
  testcode: xs_test xenstored_test xs_random
  
  xenstored: xenstored_core.o xenstored_watch.o xenstored_domain.o xenstored_transaction.o xs_lib.o talloc.o utils.o tdb.o hashtable.o
@@@ -55,14 -55,14 +57,17 @@@ xenstored_test: xenstored_core_test.o x
  xs_tdb_dump: xs_tdb_dump.o utils.o tdb.o talloc.o
        $(LINK.o) $^ $(LOADLIBES) $(LDLIBS) -o $@
  
++.PHONY: xs_test xs_random xs_stress xs_crashme
  xs_test xs_random xs_stress xs_crashme: LDFLAGS+=-lpthread
  xs_test: xs_test.o xs_lib.o utils.o
  xs_random: xs_random.o xs_test_lib.o xs_lib.o talloc.o utils.o
  xs_stress: xs_stress.o xs_test_lib.o xs_lib.o talloc.o utils.o
  xs_crashme: xs_crashme.o xs_lib.o talloc.o utils.o
  
++.PHONY: speedtest
  speedtest: speedtest.o xs.o xs_lib.o utils.o talloc.o
  
++.PHONY: check-speed
  check-speed: speedtest xenstored_test $(TESTDIR)
        $(TESTENV) time ./speedtest 100
  
@@@ -80,6 -80,6 +85,7 @@@ talloc_test.o: talloc.
  libxenstore.so: xs.opic xs_lib.opic
        $(CC) $(CFLAGS) $(LDFLAGS) -Wl,-soname -Wl,libxenstore.so -shared -o $@ $^ -lpthread
  
++.PHONY: clean
  clean: testsuite-clean
        rm -f *.o *.opic *.so
        rm -f xenstored xs_random xs_stress xs_crashme
        rm -f $(CLIENTS)
        $(RM) $(PROG_DEP)
  
++.PHONY: print-dir
  print-dir:
        @echo -n tools/xenstore: 
  
++.PHONY: print-end
  print-end:
        @echo
  
++.PHONY: check
  check: print-dir testsuite-fast randomcheck-fast print-end
  
++.PHONY: fullcheck
  fullcheck: testsuite-run randomcheck stresstest
  
  $(TESTDIR):
        mkdir $@
  
++.PHONY: testsuite-run
  testsuite-run: xenstored_test xs_test $(TESTDIR)
        $(TESTENV) testsuite/test.sh && echo
  
++.PHONY: testsuite-fast
  testsuite-fast: xenstored_test xs_test $(TESTDIR)
        @$(TESTENV) testsuite/test.sh --fast
  
++.PHONY: testsuite-clean
  testsuite-clean:
        rm -rf $(TESTDIR)
  
  # Make this visible so they can see repeat tests without --fast if they
  # fail.
  RANDSEED=$(shell date +%s)
++.PHONY: randomcheck
  randomcheck: xs_random xenstored_test $(TESTDIR)
        $(TESTENV) ./xs_random --simple --fast /tmp/xs_random 200000 $(RANDSEED) && echo
        $(TESTENV) ./xs_random --fast /tmp/xs_random 100000 $(RANDSEED) && echo
  #     $(TESTENV) ./xs_random --fail /tmp/xs_random 10000 $(RANDSEED)
  
++.PHONY: crashme
  crashme:  xs_crashme xenstored_test $(TESTDIR)
        rm -rf $(TESTDIR)/store $(TESTDIR)/transactions /tmp/xs_crashme.vglog* /tmp/trace
        export $(TESTENV); ./xs_crashme 5000 $(RANDSEED) 2>/dev/null
        if [ -n "`cat /tmp/xs_crashme.vglog*`" ]; then echo Valgrind complained; cat /tmp/xs_crashme.vglog*; exit 1; fi
        rm -rf $(TESTDIR)/store $(TESTDIR)/transactions /tmp/xs_crashme.vglog* /tmp/trace
  
++.PHONY: randomcheck-fast
  randomcheck-fast: xs_random xenstored_test $(TESTDIR)
        @$(TESTENV) ./xs_random --fast /tmp/xs_random 2000 $(RANDSEED)
  
++.PHONY: stresstest
  stresstest: xs_stress xenstored_test $(TESTDIR)
        rm -rf $(TESTDIR)/store $(TESTDIR)/transactions
        export $(TESTENV); PID=`./xenstored_test --output-pid --trace-file=/tmp/trace`; ./xs_stress 5000; ret=$$?; kill $$PID; exit $$ret
  
++.PHONY: TAGS
  TAGS:
        etags `find . -name '*.[ch]'`
  
++.PHONY: tarball
  tarball: clean
        cd .. && tar -c -j -v -h -f xenstore.tar.bz2 xenstore/
  
++.PHONY: install
  install: all
        $(INSTALL_DIR) -p $(DESTDIR)/var/run/xenstored
        $(INSTALL_DIR) -p $(DESTDIR)/var/lib/xenstored
index b02a39b18e348d9cd3444f41aa8bd95f59f9f85a,b02a39b18e348d9cd3444f41aa8bd95f59f9f85a..f7f8ac1969b8d62c940fab626756109ccd29704b
@@@ -28,9 -28,9 +28,13 @@@ ifeq ($(XEN_TARGET_ARCH),x86_64
  LIBBIN  += xenctx
  endif
  
++.PHONY: all
  all: build
++
++.PHONY: build
  build: $(BIN) $(LIBBIN)
  
++.PHONY: install
  install: build
        [ -d $(DESTDIR)/usr/bin ] || $(INSTALL_DIR) $(DESTDIR)/usr/bin
        [ -z "$(LIBBIN)" ] || [ -d $(DESTDIR)/usr/$(LIBDIR)/xen/bin ] || \
@@@ -44,6 -44,6 +48,7 @@@
        $(INSTALL_DATA) $(MAN1) $(DESTDIR)/usr/share/man/man1
        $(INSTALL_DATA) $(MAN8) $(DESTDIR)/usr/share/man/man8
  
++.PHONY: clean
  clean:
        $(RM) *.a *.so *.o *.rpm $(BIN) $(LIBBIN)
  
diff --cc xen/Makefile
index c34445ac3700fc83749589dbabf43c0f4548999a,c34445ac3700fc83749589dbabf43c0f4548999a..3bda17760f23c6285f475c09bc8730a6f4b97532
@@@ -7,17 -7,17 +7,21 @@@ export XEN_FULLVERSION  := $(XEN_VERSIO
  
  export BASEDIR := $(CURDIR)
  
++.PHONY: default
  default: build
  
  ifeq ($(XEN_ROOT),)
  
++.PHONY: build install clean
  build install clean:
        make -f Rules.mk $@
  
  else
  
++.PHONY: build
  build: $(TARGET).gz
  
++.PHONY: install
  install: $(TARGET).gz
        [ -d $(DESTDIR)/boot ] || $(INSTALL_DIR) $(DESTDIR)/boot
        $(INSTALL_DATA) $(TARGET).gz $(DESTDIR)/boot/$(notdir $(TARGET))-$(XEN_FULLVERSION).gz
@@@ -31,6 -31,6 +35,7 @@@
        $(INSTALL_DATA) include/public/io/*.h $(DESTDIR)/usr/include/xen/io
        $(INSTALL_DATA) include/public/COPYING $(DESTDIR)/usr/include/xen
  
++.PHONY: clean
  clean:: delete-unfresh-files
        $(MAKE) -C tools clean
        $(MAKE) -f $(BASEDIR)/Rules.mk -C common clean
  
  endif
  
++.PHONY: install
  dist: install
  
--debug: FORCE
++.PHONY: debug
++debug:
        objdump -D -S $(TARGET)-syms > $(TARGET).s
  
  $(TARGET).gz: $(TARGET)
@@@ -63,6 -63,6 +70,7 @@@ $(TARGET): delete-unfresh-file
  
  # drivers/char/console.o contains static banner/compile info. Blow it away.
  # Don't refresh these files during e.g., 'sudo make install'
++.PHONY: delete-unfresh-files
  delete-unfresh-files:
        @if [ ! -r include/xen/compile.h -o -O include/xen/compile.h ]; then \
                rm -f include/xen/{banner,compile}.h; \
@@@ -119,8 -119,8 +127,6 @@@ include/asm-$(TARGET_ARCH)/asm-offsets.
          echo ""; \
          echo "#endif") <$< >$@
  
--.PHONY: default debug build install dist clean delete-unfresh-files TAGS tags
--
  SUBDIRS = acm arch/$(TARGET_ARCH) common drivers 
  define all_sources
      ( find include/asm-$(TARGET_ARCH) -name SCCS -prune -o -name '*.h' -print; \
              -name config \) -prune -o -name '*.h' -print; \
        find $(SUBDIRS) -name SCCS -prune -o -name '*.[chS]' -print )
  endef
++
++.PHONY: TAGS
  TAGS: 
        $(all_sources) | etags -
++
++.PHONY: tags
  tags: 
        $(all_sources) | xargs ctags
++
++.PHONY: cscope
  cscope: 
        $(all_sources) > cscope.files
        cscope -k -b -q
++
++.PHONY: MAP
  MAP:
        $(NM) $(TARGET) | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | sort > System.map
diff --cc xen/Rules.mk
index 1f4687f7fa5de4df9c33d66178f4dcbc53bbc869,1f4687f7fa5de4df9c33d66178f4dcbc53bbc869..82449c344f0082e2fefe8022ee1654913ffc04c8
@@@ -86,13 -86,13 +86,15 @@@ subdir-all := $(subdir-y) $(subdir-n
  built_in.o: $(obj-y)
        $(LD) $(LDFLAGS) -r -o $@ $^
  
++# Force execution of pattern rules (for which PHONY cannot be directly used).
  .PHONY: FORCE
  FORCE:
  
  %/built_in.o: FORCE
        $(MAKE) -f $(BASEDIR)/Rules.mk -C $* built_in.o
  
--clean:: $(addprefix _clean_, $(subdir-all)) FORCE
++.PHONY: clean
++clean:: $(addprefix _clean_, $(subdir-all))
        rm -f *.o *~ core
  _clean_%/: FORCE
        $(MAKE) -f $(BASEDIR)/Rules.mk -C $* clean
index 14db4f2fa9489a414586d40b2d6128f1c62fd198,14db4f2fa9489a414586d40b2d6128f1c62fd198..4ce2d7acd59243cfd4ef40d6a3f35ec2b2a028f5
@@@ -75,7 -75,7 +75,8 @@@ xen.lds.s: xen/xen.lds.
        $(CC) -E $(CPPFLAGS) -P -DXEN $(AFLAGS) \
                -o xen.lds.s xen/xen.lds.S
  
--clean:: FORCE
++.PHONY: clean
++clean::
        rm -f *.o *~ core  xen.lds.s $(BASEDIR)/include/asm-ia64/.offsets.h.stamp asm-offsets.s map.out
        rm -f asm-xsi-offsets.s $(BASEDIR)/include/asm-ia64/asm-xsi-offsets.h
        rm -f $(BASEDIR)/System.map
index c4e9b1c9fdcf2f1e6d17bf233c0cb82c46a264c5,c4e9b1c9fdcf2f1e6d17bf233c0cb82c46a264c5..fb64e9087e8f9b0ed8e5d6afc315637a9dc042cf
@@@ -1,10 -1,10 +1,13 @@@
  CC=gcc
  CFLAGS=-O -Wall
  
++.PHONY: all
  all: postat
  
++.PHONY: postat
  postat: postat.c pohcalls.o
  
++.PHONY: clean
  clean:
        $(RM) -f *.o postat *.s *~
  
index 5e70e725338b4a6b0506835e83f59772814c327f,5e70e725338b4a6b0506835e83f59772814c327f..7ce15fea930de7453112adc9c28976012035ab73
@@@ -77,5 -77,5 +77,6 @@@ boot/mkelf32: boot/mkelf32.
  
  shadow_guest32.o: shadow.c
  
--clean:: FORCE
++.PHONY: clean
++clean::
        rm -f asm-offsets.s xen.lds boot/*.o boot/*~ boot/core boot/mkelf32
index 4d353617bd1da8fed93fa2319a756f848b62e67e,4d353617bd1da8fed93fa2319a756f848b62e67e..67c48ce16892971016b6d36292bdf997e9a5a085
@@@ -1,13 -1,13 +1,16 @@@
  
  include $(BASEDIR)/../Config.mk
  
++.PHONY: default
  default:
        $(MAKE) -C figlet
        $(MAKE) symbols
  
++.PHONY: clean
  clean:
        $(MAKE) -C figlet clean
        rm -f *.o symbols
  
++.PHONY: symbols
  symbols: symbols.c
        $(HOSTCC) $(HOSTCFLAGS) -o $@ $<
index bb9c64fa792e1b760ee8132dd234713b58835964,bb9c64fa792e1b760ee8132dd234713b58835964..cc44294dad982bf3bba3a47187e2a2947eaf00c9
@@@ -4,5 -4,5 +4,6 @@@ include $(BASEDIR)/../Config.m
  figlet: figlet.c
        $(HOSTCC) -o $@ $<
  
++.PHONY: clean
  clean:
        rm -f *.o figlet